﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;
using com.creditos.be.liclBases;
using com.creditos.bl.interfaces.liclBases;
using com.creditos.dao.sql.liclSolcred;
using com.creditos.be.liclEntities;
using com.creditos.dao.liclCerticom;
using System.Collections.Specialized;
using System.Collections;
using com.creditos.dao.liclBases;
using com.creditos.be.liclSolcred;

namespace com.creditos.bl.liclBases
{
    [ServiceBehavior(Name = "UsuarioBL",
    Namespace = "http://com.creditos.bl.interfaces.liclBases",
    ConcurrencyMode = ConcurrencyMode.Multiple,
    InstanceContextMode = InstanceContextMode.PerSession,
    IncludeExceptionDetailInFaults = true)]
    public class BasesExternasBL : IBasesExternasBL
    {
        #region IBasesExternasBL Members

        public Global InicioBuro_Creditos(List<ClienteConsulta> ClienteConsultaList, string nombrePrograma)
        {            
            Global resultado = new Global();
            StringCollection ListaErrores = new StringCollection();
            StringCollection ListaOK = new StringCollection();
            Empresa var = new Empresa();
            CerticomLocal oCerticom = new CerticomLocal();
            foreach (ClienteConsulta oClienteConsulta in ClienteConsultaList)
            {
                try
                {
                    resultado = ConexionCerticom(oClienteConsulta, var, TipoConsulta.PersonaNatural, oCerticom);
                    if (resultado.Resultado == true)
                    {
                        ListaOK.Add(Mensaje.OkCerticom + " " + oClienteConsulta.NomCliente);
                        break;
                    }
                    else
                    {
                        ListaErrores.Add(Mensaje.NOCerticom + " " + oClienteConsulta.NomCliente);
                        continue;
                    }
                }
                catch (Exception ex)
                {
                    FaultReason err = new FaultReason(ex.Message);
                    throw new FaultException(err);
                }
            }
           
            return resultado;
        }

        public void ActualizarBuroDatosGenerales(List<DatGen> oDatosGenerales)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroDatosGenerales(oDatosGenerales);                
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }
        public void ActualizarBuroCalificacion(List<Calificacion> oCalificacion)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroCalificacion(oCalificacion);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }
        public void ActualizarBuroMorosidad(List<Morosidad> oMorosidad)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroMorosidad(oMorosidad);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public void ActualizarBuroProtesto(List<Protesto> oProtesto)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroProtesto(oProtesto);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public void ActualizarBuroOtraDireccion(List<OtrDir> oOtraDireccion)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroOtraDireccion(oOtraDireccion);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public void ActualizarBuroOmisos(List<Omisos> oOmisos)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroOmisos(oOmisos);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public void ActualizarBuroAdversos(List<Adversos> oAdversos)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroAdversos(oAdversos);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public void ActualizarBuroRepresentanteLegal(List<RepresentantesLegales> oRepresentantes)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroRepresentanteLegal(oRepresentantes);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public void ActualizarBuroDeudaSBSEntidad(List<MorosidadSBS> oMorosidadSBS)
        {
            try
            {
                CentralRiesgoDAO.ActualizarBuroDeudaSBSEntidad(oMorosidadSBS);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<IntegrantesBuro> ObtenerListaIntegrantesBuroCredito(ClienteConsulta oIntegrantes)
        {
            List<IntegrantesBuro> lst= new List<IntegrantesBuro>();
            try
            {
                
                lst = CentralRiesgoDAO.ObtenerListaIntegrantesBuroCredito(oIntegrantes);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<ReglasEvaluacion> ObtenerListaResultadoReglas(ClienteConsulta oSolicitud)
        {
            List<ReglasEvaluacion> lst = new List<ReglasEvaluacion>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerListaResultadoReglas(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<DatGen> ObtenerBuroDatosGenerales(ClienteConsulta oSolicitud)
        {
            List<DatGen> lst = new List<DatGen>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroDatosGenerales(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<OtrDir> ObtenerBuroOtraDireccion(ClienteConsulta oSolicitud)
        {
            List<OtrDir> lst = new List<OtrDir>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroOtraDireccion(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<Omisos> ObtenerBuroOmisos(ClienteConsulta oSolicitud)
        {
            List<Omisos> lst = new List<Omisos>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroOmisos(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<RepresentantesLegales> ObtenerBuroRepresentanteLegal(ClienteConsulta oSolicitud)
        {
            List<RepresentantesLegales> lst = new List<RepresentantesLegales>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroRepresentanteLegal(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<Calificacion> ObtenerBuroCalificaciones(ClienteConsulta oSolicitud)
        {
            List<Calificacion> lst = new List<Calificacion>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroCalificaciones(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<Adversos> ObtenerBuroAdversos(ClienteConsulta oSolicitud)
        {
            List<Adversos> lst = new List<Adversos>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroAdversos(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<Morosidad> ObtenerBuroMorosidad(ClienteConsulta oSolicitud)
        {
            List<Morosidad> lst = new List<Morosidad>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroMorosidad(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<Protesto> ObtenerBuroProtestos(ClienteConsulta oSolicitud)
        {
            List<Protesto> lst = new List<Protesto>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroProtestos(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<DeudaSBS> ObtenerBuroResumenDeudaSBSEntidad(ClienteConsulta oSolicitud)
        {
            List<DeudaSBS> lst = new List<DeudaSBS>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroResumenDeudaSBSEntidad(oSolicitud);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<MorosidadSBS> ObtenerBuroDeudaSBSEntidad(ClienteConsulta oMorosidadSBS)
        {
            List<MorosidadSBS> lst = new List<MorosidadSBS>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerBuroDeudaSBSEntidad(oMorosidadSBS);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }
        #endregion
        #region Privados
        public Global ConexionCerticom(ClienteConsulta oClienteConsulta, com.creditos.be.liclBases.Empresa oEmpresa, string _TipoConsulta, CerticomLocal datosCerticom)
        {
            Global o = new Global();
            /*Inicializando*/
            datosCerticom.TipoConsulta =
            datosCerticom.NroDoc =
            datosCerticom.ApePaterno =
            datosCerticom.ApeMaterno =
            datosCerticom.Nombres = string.Empty;
            /*Fin*/

            datosCerticom.TipoConsulta = _TipoConsulta;
            datosCerticom.Pass = oEmpresa.ClaveCentralRiesgo;
            datosCerticom.Usuario = oEmpresa.UsuarioCentralRiesgo;
            datosCerticom.NroDoc = oClienteConsulta.NumDocIndentidad;

            if (_TipoConsulta == TipoConsulta.PersonaNatural)
            {
                datosCerticom.ApePaterno = oClienteConsulta.ApellidoPaterno.Trim();
                datosCerticom.ApeMaterno = oClienteConsulta.ApellidoMaterno.Trim();
                datosCerticom.Nombres = oClienteConsulta.PrimerNombre.Trim() + " " + oClienteConsulta.SegundoNombre.Trim();
            }
            else if (_TipoConsulta == TipoConsulta.PersonaJuridica)
            {
                datosCerticom.ApePaterno = oClienteConsulta.NomCliente;
                datosCerticom.ApeMaterno = string.Empty;
                datosCerticom.Nombres = string.Empty;
            }
            /*LOG*/
            //RegistrarLogCerticom("Consultando Certicom", TramaLogEnvio.Ida, oClienteConsulta.NumSolicitud);
            bool CerticomOK = datosCerticom.ExtraccionDatos();
            /*LOG*/
            //RegistrarLogCerticom(datosCerticom.DatosEnvio, TramaLogEnvio.Ida, oClienteConsulta.NumSolicitud);
            if (CerticomOK == false)
            {
                o.Resultado = false;
                o = new Global();
                return o;
            }
            /*LOG*/
            //RegistrarLogCerticom(datosCerticom.XmlSalidaCerticom, TramaLogEnvio.Vuelta, oClienteConsulta.NumSolicitud);

            List<Calificacion> Calificaciones = datosCerticom.calificaciones;
            List<Deudas> Deudas = datosCerticom.deudas;
            List<MorosidadSBS> MorosidadesSBS = datosCerticom.morosidadesSBS;
            List<MorosidadActual> MorosidadesActual = datosCerticom.morosidadesActual;
            List<MorosidadHistorica> MorosidadesHistorica = datosCerticom.morosidadesHistorica;
            List<ProtestoAceptante> ProtestosAceptante = datosCerticom.protestosAceptante;
            List<ProtestoGirador> ProtestosGiradores = datosCerticom.protestosGiradores;
            List<Adversos> AdversosList = datosCerticom.adversosList;
            List<Omisos> OmisosList = datosCerticom.omisosList;
            List<DatGen> DatGenList = datosCerticom.datGenList;
            List<OtrDir> OtrDirList = datosCerticom.otrDirList;
            List<RepresentantesLegales> RepLegalesList = datosCerticom.repLegalesList;
            List<Morosidad> oMorosidadesList = datosCerticom.morosidadList;
            List<Protesto> oProtestoList = datosCerticom.protestos;
            #region Guardar datos
            o.Resultado = true;
            o.ListaCalificaciones = Calificaciones;
            o.ListaDeudas = Deudas;
            o.ListaMorosidadesSBS = MorosidadesSBS;
            o.ListaMorosidadesHistoricas = MorosidadesHistorica;
            o.ListaProtestosAceptante = ProtestosAceptante;
            o.ListaProtestosGiradores = ProtestosGiradores;
            o.ListaAdversosList = AdversosList;
            o.ListaOmisosList = OmisosList;
            o.ListaDatGenList = DatGenList;
            o.ListaOtrDirList = OtrDirList;
            o.ListaRepLegalesList = RepLegalesList;
            o.ListaoMorosidadesList = oMorosidadesList;
            o.ListaoProtestoList = oProtestoList;


            for (int i = 0; i < DatGenList.Count; i++) {
                DatGenList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                DatGenList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                DatGenList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                DatGenList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < oMorosidadesList.Count; i++)
            {
                oMorosidadesList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                oMorosidadesList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                oMorosidadesList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                oMorosidadesList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < oProtestoList.Count; i++)
            {
                oProtestoList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                oProtestoList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                oProtestoList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                oProtestoList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < OtrDirList.Count; i++)
            {
                OtrDirList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                OtrDirList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                OtrDirList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                OtrDirList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < OmisosList.Count; i++)
            {
                OmisosList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                OmisosList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                OmisosList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                OmisosList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < AdversosList.Count; i++)
            {
                AdversosList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                AdversosList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                AdversosList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                AdversosList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < RepLegalesList.Count; i++)
            {
                RepLegalesList[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                RepLegalesList[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                RepLegalesList[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                RepLegalesList[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < Calificaciones.Count; i++)
            {
                Calificaciones[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                Calificaciones[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                Calificaciones[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                Calificaciones[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            for (int i = 0; i < MorosidadesSBS.Count; i++)
            {
                MorosidadesSBS[i].NumeroSolicitud = oClienteConsulta.NumeroSolicitud;
                MorosidadesSBS[i].CodigoIntegrante = oClienteConsulta.CodigoIntegrante;
                MorosidadesSBS[i].OrigenSolicitud = oClienteConsulta.OrigenSolicitud;
                MorosidadesSBS[i].CodigoConsulta = oClienteConsulta.CodigoConsulta;
            }
            ActualizarBuroDatosGenerales(DatGenList);
            ActualizarBuroMorosidad(oMorosidadesList);
            ActualizarBuroProtesto(oProtestoList);
            ActualizarBuroOtraDireccion(OtrDirList);
            ActualizarBuroOmisos(OmisosList);
            ActualizarBuroAdversos(AdversosList);
            ActualizarBuroRepresentanteLegal(RepLegalesList);
            ActualizarBuroCalificacion(Calificaciones);
            ActualizarBuroDeudaSBSEntidad(MorosidadesSBS);                        
            /*ProgramSTSB223 oP = new ProgramSTSB223(nombreProgramaSTSB223, oClienteConsulta.UsuarioSTS);
            oP.GrabaCDRCalificacionesDeudas(oClienteConsulta.NumSolicitud, oClienteConsulta.NumPedidoVerificacion, CentralRiesgo.Certicom, Calificaciones, Deudas);
            oP.GrabaCDRMorosidadSBSOmisos(oClienteConsulta.NumSolicitud, oClienteConsulta.NumPedidoVerificacion, CentralRiesgo.Certicom, MorosidadesSBS, OmisosList);
            ProgramSTSB224 oP2 = new ProgramSTSB224(nombreProgramaSTSB224, oClienteConsulta.UsuarioSTS);
            oP2.GrabarCDRMorosidades(oClienteConsulta.NumSolicitud, oClienteConsulta.NumPedidoVerificacion, CentralRiesgo.Certicom, oMorosidadesList);
            oP2.GrabarCDRProtestosAdversos(oClienteConsulta.NumSolicitud, oClienteConsulta.NumPedidoVerificacion, CentralRiesgo.Certicom, oProtestoList, AdversosList);
            new ProgramSTSB227(nombreProgramaSTSB227, oClienteConsulta.UsuarioSTS).GrabarCDRDatGenDireccionRepreLegales(oClienteConsulta.NumSolicitud, oClienteConsulta.NumPedidoVerificacion, CentralRiesgo.Certicom, DatGenList, OtrDirList, RepLegalesList);*/
            #endregion
            return o;
        }
        public struct TipoConsulta
        {
            public const string PersonaNatural = "PN";
            public const string PersonaJuridica = "PJ";
        }
        private enum Importe
        {
            Soles, Dolares
        }


        private struct TipoArchivo
        {
            public const string Deudas = "D";
            public const string Morosidad = "M";
        }
        private struct Moneda
        {
            public const string Soles = "S";
            public const string Dolares = "D";
        }
        private struct Mensaje
        {
            public const string OkCerticom = "Consulta Certicom Exito";
            public const string OkInfocorp = "Consulta Inforcop Exito";
            public const string NOCerticom = "Consulta Certicom Error";
            public const string NOInfocorp = "Consulta Inforcop Error";
            public const string GrabacionExitosa = "Grabación Exitosa ";
            public const string GrabacionError = "Grabación Error";
            public const string ErrorEmpresa = "No existe Empresas Disponibles";

        }
        #endregion              

        public List<ReglaCentralRiesgo> ListarVariables()
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            try
            {
                lst = CentralRiesgoDAO.ListarVariables();
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<ReglaCentralRiesgo> ActualizarPoliticaCredito(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            try
            {

                lst = CentralRiesgoDAO.ActualizarPoliticaCredito(oReglaCentral);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<ReglaCentralRiesgo> ActualizarReglaNegocio(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            try
            {

                lst = CentralRiesgoDAO.ActualizarReglaNegocio(oReglaCentral);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<ReglaCentralRiesgo> ActualizarReglaNegocioCondicion(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            try
            {

                lst = CentralRiesgoDAO.ActualizarReglaNegocioCondicion(oReglaCentral);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<CentralRiesgoBE> ObtenerPoliticaCredito(ReglaCentralRiesgo oReglaCentral)
        {
            List<CentralRiesgoBE> lst = new List<CentralRiesgoBE>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerPoliticaCredito(oReglaCentral);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<ReglaCentralRiesgo> ObtenerReglaNegocio(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerReglaNegocio(oReglaCentral);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public List<ReglaCentralRiesgo> ObtenerReglaNegocioCondicion(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            try
            {

                lst = CentralRiesgoDAO.ObtenerReglaNegocioCondicion(oReglaCentral);
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
            return lst;
        }

        public void EvaluarCentralRiesgo(ClienteConsulta oDatos)
        {
            try
            {
                CentralRiesgoDAO.EvaluarCentralRiesgo(oDatos);                
            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }
    }
}
